package com.lboyang.provider.config;

import lombok.*;

/**
 * @Description
 *      RPC 服务配置类
 * @Date 2021/9/12 16:15
 * @author: A.iguodala
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@ToString
public class RpcServiceConfig {

    /**
     * 服务版本
     */
    private String version = "";
    /**
     * 服务实现子类
     */
    private String group = "";

    /**
     * 目标服务
     */
    private Object service;

    /**
     * 获取RPC服务名
     * @return
     */
    public String getRpcServiceName() {
        return this.getServiceName() + this.getGroup() + this.getVersion();
    }

    /**
     * 获取服务具体调用名
     * @return
     */
    public String getServiceName() {
        return this.service.getClass().getInterfaces()[0].getCanonicalName();
    }
}
